#coding:utf-8
import os
import django

# 初始化django配置，注意修改blog_manager为项目名
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "blog_manager.settings")
django.setup()

# 以下代码导入模型，根据情况修改
from blog.models import *
from django.contrib.auth.models import User

# 使用pycharm 调用 django 的 版本函数
user_obj = User.objects.get(username="admin")
article_obj = Article.objects.create(
    category='新闻',
    title="重庆人文科技学院计算机学院副院长一行到我校学习参观",
    author="唐蕾",
    content="3月24日上午，重庆人文科学学院计算机工程学院副院长孙宝钢一行13人来到我校学习考察",
    user=user_obj
)

comment_obj = CommentInfo.objects.create(
    article=article_obj,
    user=user_obj,
    content="不错哟"
)

logInfo_obj = LogInfo.objects.create(
    article=article_obj,
    types=0,
    user=user_obj
)

article_obj_1 = Article.objects.create(
    category='新闻',
    title="学校召开2023年资产管理工作会",
    author="刘冬梅",
    content="本网讯（文/图 后勤处 刘冬梅）3月27日上午，学校在行政楼201召开了2023年资产管理工作会议。党委书记、督导专员谭明术，校长助理谭其贵，财务总监王小林出席会议，各二级学院、职能部门（含双桥校区）负责人、物资管理员、实验中心主任、实验员以及基建后勤处人员参加会议。会议由基建后勤处处长程国园主持。",
    user=user_obj
)

comment_obj_1 = CommentInfo.objects.create(
    article=article_obj_1,
    user=user_obj,
    content="不错哟"
)

logInfo_obj_1 = LogInfo.objects.create(
    article=article_obj_1,
    types=0,
    user=user_obj
)

article_obj_2 = Article.objects.create(
    category='新闻',
    title="学校开展第52期校友大讲堂“西部天地广阔，青春大有可为”交流活动",
    author="叶秋清",
    content="本网讯（文/图 招就处 叶秋清）为进一步增进校友与母校的交流，发挥优秀校友的榜样和激励作用，开拓在校大学生的职业视野，学校就业指导中心于3月26日下午在小鹅通直播平台举办第52期校友大讲堂“西部天地广阔，青春大有可为”交流活动，本次讲座邀请了重庆工程学院计算机与物联网学院2022届毕业生叶小华校友主讲，共3000余人参加了本次线上活动。",
    user=user_obj
)

comment_obj_2 = CommentInfo.objects.create(
    article=article_obj_2,
    user=user_obj,
    content="不错哟"
)

logInfo_obj_2 = LogInfo.objects.create(
    article=article_obj_2,
    types=0,
    user=user_obj
)

article_obj_3 = Article.objects.create(
    category='新闻',
    title="我校荣获巴南区科技创新先进集体和先进个人奖励",
    author="李世毅",
    content="学校投身巴南区“一区五城”和五大产业集群建设，积极参与巴南区科技创新工作，加强“校地”互联互通，建立高效沟通协作机制；充分借助巴南区科技创新政策优势，搭建科技创新和成果转化平台，立足企业实际需求开展科学研究，提高科研成果转化和应用质量；组织开展各类科普活动、科技咨询、学术交流等活动，浓厚科技氛围，提高全民科技素养，助力巴南区科技创新工作不断发展。",
    user=user_obj
)

comment_obj_3 = CommentInfo.objects.create(
    article=article_obj_3,
    user=user_obj,
    content="不错哟"
)

logInfo_obj_3 = LogInfo.objects.create(
    article=article_obj_3,
    types=0,
    user=user_obj
)

article_obj_4 = Article.objects.create(
    category='新闻',
    title="管理学院师生深入原市级贫困村开展共建帮扶活动",
    author="王燕楠",
    content="活动中，管理学院师生代表首先来到位于东温泉镇黄金林村的天赐革命烈士陵园，由村党总支副书记冯强在革命烈士纪念碑前为同学们讲解中国人民解放军第二野战部队十位烈士的英勇事迹，同学们认真聆听、深有感触，自豪感和使命感在心中涌动，认识到现在幸福生活来之不易。",
    user=user_obj
)

comment_obj_4 = CommentInfo.objects.create(
    article=article_obj_4,
    user=user_obj,
    content="不错哟"
)

logInfo_obj_4 = LogInfo.objects.create(
    article=article_obj_4,
    types=0,
    user=user_obj
)

article_obj_5 = Article.objects.create(
    category='新闻',
    title="喜讯！我校招生就业处再获“2022年普通高校毕业生就业创业工作成绩突出集体”称号",
    author="叶秋清",
    content="022年，面对严峻复杂的就业形势，学校始终认真贯彻落实党中央、国务院决策部署，坚决落实教育部、重庆市教委相关工作要求，多措并举、全员聚力，积极为毕业生提供充足的市场化就业岗位、精准的就业指导和优质的就业服务，确保毕业生毕业去向落实情况连续稳定。学校2022届毕业生初次去向落实率位居重庆市本科院校前列，央视《新闻直播间》《焦点访谈》专题点赞报道了我校校园双选活动。",
    user=user_obj
)

comment_obj_5 = CommentInfo.objects.create(
    article=article_obj_5,
    user=user_obj,
    content="不错哟"
)

logInfo_obj_5 = LogInfo.objects.create(
    article=article_obj_5,
    types=0,
    user=user_obj
)

for r in Article.objects.all():
    read_count = LogInfo.objects.filter(article=r, types=0).count()
    like_count = LogInfo.objects.filter(article=r, types=1).count()
    against_count = LogInfo.objects.filter(article=r, types=2).count()
    reply_count = CommentInfo.objects.filter(article=r).count()
    Article.objects.filter(pk=r.id).update(like_num=like_count,
                                           read_num=read_count,
                                           against_num=against_count,
                                           reply_num=reply_count)

# 查询Article的第二页显示数据
for r in Article.objects.all()[5:10]:
    print(r.title,"-------",r.content)

# 查询id为2和5的新闻数据
for r in Article.objects.filter(pk__in=[2,5]):
    print(r.id, r.title)

# 查询id < 5,标题包括冲的新闻数据
for r in Article.objects.filter(pk__lt=5, title__contains='重庆'):
    print(r.id, r.title)

# 使用原生查询， 查询文章标题包括重庆的新闻id和标题，并打印输出
for a in Article.objects.raw("select * from blog_article where title like %s", ['%重庆%']):
    print(a.id, a.title)

# 查询文章标题包括重庆的评论信息
print(CommentInfo.objects.filter(article__title__contains='重庆')\
      .values("article__title", "content", "c_time", "user__username"))

# 查询文章标题包括重庆的日志信息
print(LogInfo.objects.filter(article__title__contains="重庆").values("article__title", "c_time", "user__username", "types"))

# 删除
# LogInfo.objects.all().delete()

